﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ArduinoAnalyzer.Tokens.LexicalAnalysis
{
    public enum TokenType
    {
        None,
        Comment,
        While,
        Do,
        For,
        If,
        Else,
        Switch,
        Case,
        Default,
        True,
        Void,
        False,
        High,
        Low,
        Input,
        Output,
        Byte,
        Int,
        Unsigned,
        Word,
        Short,
        Long,
        Float,
        Double,
        Boolean,
        Break,
        Return,
        Continue,
        GoTo,
        InputPullup,
        Static,
        Volatile,
        Const,
        Identifier,
        Semicolon,
        Assignment,
        IntegerConstant,
        RealConstant,
        Addition,
        AdditionAssignment,
        Increment,
        Subtraction,
        SubtractionAssignment,
        Decrement,
        Multiplication,
        MultiplicationAssignment,
        Division,
        DivisionAssignment,
        DivisionRemainder,
        DivisionRemainderAssignment,
        Equality,
        Inequality,
        LessThan,
        GreaterThan,
        LessThanOrEqual,
        GreaterThanOrEqual,
        And,
        Or,
        Not,
        OpenBrackets,
        CloseBrackets,
        OpenBraces,
        CloseBraces,
        OpenParentheses,
        CloseParentheses,
        ShiftLeft,
        ShiftLeftAssignment,
        ShiftRight,
        ShiftRightAssignment,
        QuestionMark,
        Colon,
        Comma,
        BitwiseAnd,
        BitwiseAndAssignment,
        BitwiseOr,
        BitwiseOrAssignment,
        BitwiseXor,
        BitwiseXorAssignment,
        BitwiseNot,
        PinMode,
        DigitalWrite,
        DigitalRead,
        AnalogReference,
        AnalogRead,
        AnalogWrite,
        AnalogReadResolution,
        AnalogWriteResolution,
        Tone,
        NoTone,
        ShiftOut,
        ShiftIn,
        PulseIn,
        Millis,
        Micros,
        Delay,
        DelayMicroseconds,
        Min,
        Max,
        Abs,
        Constrain,
        Map,
        Pow,
        Sqrt,
        Sin,
        Cos,
        Tan,
        RandomSeed,
        Random,
        LowByte,
        HighByte,
        BitRead,
        BitWrite,
        BitSet,
        BitClear,
        Bit,
        AttachInterrupt,
        DetachInterrupt,
        Interrupts,
        NoInterrupts,
        SizeOf
    }
}
